home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / answers / comp / Modula-3-faq < prev    next >
Internet Message Format  |  1994-04-08  |  24KB

  1. Path: bloom-beacon.mit.edu!hookup!swrinde!sdd.hp.com!decwrl!pa.dec.com!src.dec.com!src.dec.com!muller
  2. From: Eric Muller <muller@src.dec.com>
  3. Newsgroups: comp.lang.modula3,news.answers,comp.answers
  4. Subject: Modula-3 Frequently Asked Questions (FAQ)
  5. Followup-To: comp.lang.modula3
  6. Date: 8 Apr 1994 15:42:38 GMT
  7. Organization: DEC Systems Research Center
  8. Lines: 562
  9. Approved: news-answers-request@MIT.Edu
  10. Expires: 15 May 1994 00:00:00 GMT
  11. Message-ID: <2o3u1e$62j@src-news.pa.dec.com>
  12. NNTP-Posting-Host: procope.pa.dec.com
  13. Xref: bloom-beacon.mit.edu comp.lang.modula3:1049 news.answers:17832 comp.answers:4823
  14.  
  15. Archive-name: Modula-3-faq
  16. Last-modified: Feb 3 1994
  17.  
  18.  
  19.          Modula-3 Frequently Asked Questions
  20.          ===================================
  21.  
  22.  
  23. 1. The language
  24.     1.1 What is Modula-3?
  25.     1.2 Is Modula-3 a superset of Modula-2?
  26. 2. The documentation
  27.     2.1 Where can I get a description of Modula-3? 
  28.     2.2 Where can I get other information on Modula-3?
  29. 3. The implementations
  30.     3.1 Where can I get an implementation?
  31.     3.2 What is SRC Modula-3?
  32.     3.3 What is m3pc?
  33.     3.4 What is GNU Modula-3?
  34. 4. Some specific questions
  35.         4.1 Why is "Hello World" so large?
  36.         4.2 Why objects and interfaces?
  37.     4.3 What is the story with Trestle and OpenWindows?
  38.         4.4 When is the next release of SRC Modula-3 ?
  39. 5. FTP
  40.     5.1 What if I don't have ftp access?
  41. 6. Contributing
  42.     6.1 Can I contribute Modula-3 software?
  43.  
  44.  
  45.  
  46.  
  47. 1.1. What is Modula-3?
  48.  
  49.    Modula-3 is a systems programming language that descends from Mesa,
  50.    Modula-2, Cedar, and Modula-2+.  It also resembles its cousins
  51.    Object Pascal, Oberon, and Euclid.
  52.  
  53.    The goal of Modula-3 is to be as simple and safe as it can be while
  54.    meeting the needs of modern systems programmers.  Instead of
  55.    exploring new features, we studied the features of the Modula
  56.    family of languages that have proven themselves in practice and
  57.    tried to simplify them into a harmonious language.  We found that
  58.    most of the successful features were aimed at one of two main
  59.    goals: greater robustness, and a simpler, more systematic type
  60.    system.
  61.  
  62.    Modula-3 retains one of Modula-2's most successful features, the
  63.    provision for explicit interfaces between modules.  It adds objects
  64.    and classes, exception handling, garbage collection, lightweight
  65.    processes (or threads), and the isolation of unsafe features.
  66.  
  67.  
  68. 1.2. Is Modula-3 a superset of Modula-2?
  69.  
  70.    No; valid Modula-2 programs are not valid Modula-3 programs.  However,
  71.    there is a tool to help convert Modula-2 programs to Modula-3.
  72.  
  73.  
  74. 2.1. Where can I get a description of Modula-3? 
  75.    
  76.    The definition of Modula-3 is contained in:
  77.  
  78.         System Programming with Modula-3
  79.         Edited by Greg Nelson
  80.         Prentice Hall Series in Innovative Technology
  81.         ISBN 0-13-590464-1
  82.         L.C. QA76.66.S87 1991
  83.  
  84.    also known as SPwM3.  Here is the table of contents:
  85.  
  86.         1. Introduction
  87.         2. Language Definition
  88.         3. Standard Interfaces
  89.         4. An Introduction to Programming with Threads
  90.         5. Thread Synchronization: A Formal Specification
  91.         6. I/O Streams: Abstract Types, Real Programs
  92.         7. Trestle Window System Tutorial
  93.         8. How the Language Got its Spots
  94.  
  95.    Chapters 2 and 3 have been reprinted in Sigplan Notices, Volume 27,
  96.    Number 8, August 1992, pp 15-42.
  97.  
  98.    Sam Harbison has written a more tutorial book about Modula3:
  99.  
  100.         Modula-3
  101.         Samuel P. Harbison
  102.         Prentice Hall, 1992
  103.         ISBN 0-13-596396-6
  104.  
  105.    The errata sheet is available via anonymous ftp from gatekeeper.dec.com 
  106.    in pub/DEC/Modula-3/errata.
  107.  
  108.  
  109. 2.2. Where can I get other information on Modula-3?
  110.  
  111.    There is a Usenet newsgroup, comp.lang.modula3.  The archives of
  112.    that group are available via anonymous ftp from gatekeeper.dec.com
  113.    in pub/DEC/Modula-3/comp.lang.modula3.  If you do not have
  114.    access to Usenet, there is a relay mailing list; send a message to
  115.    m3-request@src.dec.com to be added to it.
  116.  
  117.    There are a couple high-level overview articles available:
  118.  
  119.        "Modula-3", Sam Harbison, Byte, Vol. 15, No. 12, November 1990,
  120.        pp 385+.
  121.  
  122.        "Safe Programming with Modula-3", Sam Harbison, Dr. Dobb's Journal,
  123.        Vol. 17, No. 10, October 1992, pp 88+.
  124.  
  125.    A description of the Modula-3 type system is in
  126.  
  127.        "The Modula-3 Type System", Luca Cardelli, Jim Donahue, Mick Jordan,
  128.        Bill Kalsow, Greg Nelson, Conference Record of the Sixteenth Annual
  129.        ACM Symposium on Principles of Programming Languages (POPL), Austin
  130.        Texas, January 11-13 1989, pp 202-212.
  131.  
  132.    The Modula-3 treatment of floating-point values is described in
  133.  
  134.        "The Design of Floating-Point Data Types", David Goldberg,
  135.        ACM Letters on Programming Languages and Systems (LOPLAS),
  136.        June 1992, Vol 1, #2, pp 138-151
  137.  
  138.    The core library interfaces are described and indexed in
  139.  
  140.        "Some Useful Modula-3 Interfaces", Jim Horning, Bill Kalsow,
  141.        Paul McJones, Greg Nelson, SRC Research Report 113.
  142.        Available vi anonymous FTP from gatekeeper.dec.com in
  143.        pub/DEC/SRC/research-reports/SRC-113.ps.Z 
  144.  
  145.    The Trestle window system toolkit, higher-level FormsVBT toolkit, and
  146.    Zeus animation system available with Modula-3, are documented in the
  147.    following reports:
  148.  
  149.        "Trestle Reference Manual", Mark S. Manasse and Greg Nelson,
  150.        SRC Research Report 68, December 1991.
  151.  
  152.        "Trestle Tutorial", Mark S. Manasse and Greg Nelson, SRC Research
  153.        Report 69, May 1, 1992.
  154.  
  155.        "VBTkit Reference Manual: A toolkit for Trestle", edited by
  156.        Marc H. Brown and James R. Meehan.  (soon to be a SRC Research
  157.        Report)  A draft version is available via anonymous FTP from
  158.        gatekeeper.dec.com in pub/DEC/Modula-3/contrib/vbtkit.25Mar93.ps.Z.
  159.  
  160.        "The FormsVBT Reference Manual", Marc H. Brown and James R. Meehan,
  161.        (soon to be a SRC Research Report).  A draft version is available
  162.        via anonymous FTP from gatekeeper.dec.com in
  163.        pub/DEC/Modula-3/contrib/formsvbt.25Mar93.ps.Z and
  164.        pub/DEC/Modula-3/contrib/formsvbt.AppC.26Mar93.ps.Z.
  165.  
  166.        "Zeus: A System for Algorithm Animation and Multi-View Editing",
  167.        Marc H. Brown, SRC Research Report 75, February 28, 1992.
  168.        Available via anonymous FTP from gatekeeper.dec.com in
  169.        pub/DEC/SRC/research-reports/SRC-075*.ps.Z.
  170.  
  171.        "Color and Sound in Algorithm Animation", Marc H. Brown and
  172.        John Hershberger, SRC Research Report 76a, August 30, 1991.
  173.        Available via anonymous FTP from gatekeeper.dec.com in
  174.        pub/DEC/SRC/research-reports/SRC-076a*.ps.Z.
  175.  
  176.        "The 1992 SRC Algorithm Animation Festival", Marc H. Brown, 
  177.        SRC Research Report 98, March 27, 1993.  Available via anonymous ftp
  178.        from gatekeeper.dec.com in 
  179.        pub/DEC/SRC/research-reports/SRC-098*.ps.Z.
  180.  
  181.    Hardcopy versions of these reports can be ordered by e-mail; send your
  182.    request including a postal mail address to src-reports@src.dec.com.
  183.  
  184.    Sedgewick's classic text on computer algorithms is presented
  185.    in Modula-3 in:
  186.  
  187.         Alogorithms in Modula-3
  188.         Robert Sedgewick
  189.         Addison-Wesley, 1993
  190.         ISBN 0-201-53351-0
  191.  
  192. 3.1. Where can I get an implementation?
  193.  
  194.    Two implementations are available, SRC Modula-3 and a
  195.    PC version of it (m3pc).
  196.  
  197.    Apparently work on GNU Modula-3 has stopped.
  198.  
  199.    As far as we know, implementations are not available for VMS, Macintosh,
  200.    or Alpha AXP/OSF.
  201.  
  202.  
  203. 3.2. What is SRC Modula-3?
  204.  
  205.    SRC Modula-3 was built by the DEC Systems Reseach Center
  206.    and is available via anonymous ftp from gatekeeper.dec.com in
  207.    pub/DEC/Modula-3/release.
  208.  
  209.    The current version, 2.11, implements the language defined in SPwM3.
  210.    There are versions for the following machines:
  211.  
  212.         AIX386  IBM PC running AIX/PS2,
  213.         AP3000  Apollo DN4500 running Domain/OS
  214.         ARM     Acorn R260 running RISC iX 1.21
  215.         DS3100  DECstation 3100 and 5000 running Ultrix 4.0 and 4.2
  216.         HP300   HP 9000/300 running HP-UX 8.0
  217.     HPPA    HP 700/800 running HP-UX 8.0
  218.         IBMR2   IBM R6000 running AIX 3.1, 
  219.         IBMRT   IBM RT running IBM/4.3, 
  220.         NEXT    NeXT running ??
  221.     OKI     Okidata 7300 (i860) running AT&T SVR4.0
  222.         SPARC   SPARCstation running SunOS 4.1.x
  223.         SUN3    SUN3 running SunOS
  224.     SUN386  Sun 386i  running SunOS 4.0.1
  225.         UMAX    Encore Multimax running UMAX 4.3 (R4.1.1)
  226.         VAX     VAX running Ultrix 3.1
  227.  
  228.    SRC Modula-3 includes a user manual, compiler, runtime library,
  229.    some libraries and a few other goodies (see below).
  230.  
  231.    The compiler generates C as an intermediate language and should be
  232.    fairly easy to port.  Except for the very lowest levels of the
  233.    thread implementation, the entire system is written in Modula-3.
  234.  
  235. 3.3. What is m3pc?
  236.  
  237.    m3pc is available via anonymous ftp from gatekeeper.dec.com in
  238.    pub/DEC/Modula-3/contrib/m3pc.
  239.  
  240.    ---------
  241.  
  242.    From: laszlo@post.ifi.uni-klu.ac.at (Prof.Dr.Laszlo BOESZOERMENYI)
  243.    Subject: M3 pn PC
  244.  
  245.    The Modula-3 system ported by us on the PC and available on the
  246.    gatekeeper, runs with MSDOS, gnu c compiler and djgpp memory
  247.    manager (detailed description in the read me file).
  248.  
  249.    The first version was ported by Klaus Preschern. Carsten Weich rewrote
  250.    the handling of long filenames for the second version.
  251.  
  252.    You may compile, link and run Modula-3 programs, without threads.
  253.    From the library modules only those are tested which are used by
  254.    the compiler.  We are using the actual version for our beginners-course
  255.    and we are working on "student-friendly" programming environmnents and
  256.    a simple windowing graphic-library.
  257.  
  258.    ---------
  259.  
  260.    From: carsten@post.ifi.uni-klu.ac.at (Carsten WEICH)
  261.    Subject: New version of Modula-3/PC
  262.    Date: 28 Jan 1994 13:25:28 GMT
  263.  
  264.    We have built a new version of Modula-3 running on a PC.
  265.    You will need a PC:
  266.      *  80486 or 80386 with floatingpoint-coprocessor,
  267.      *  at least 4 but preferable 8 MByte of RAM,
  268.      *  20 MByte discspace free at least.
  269.  
  270.    You can run a modified Modula-3 version 2.09 without thread-
  271.    support. Our version features:
  272.      *  support for Unix-like long filenames
  273.      *  automatic compilation (to substitute the lack of m3make)
  274.      *  library to access DOS-files and directories.
  275.  
  276.    We have built a little shell which translates the long filenames you
  277.    type in into DOS-filenames. It has a unix-lookalike "ls"-command.
  278.    There are commands to teach the system new long filenames.
  279.    You can savely move such files around through DOS-directories
  280.    (which was not possible with the first version).
  281.  
  282.    This version accesses DOS-files significantly faster than the first
  283.    version. Especially linking large Modula-3 programs is much faster
  284.    now. On a 50 MHz 80486 with 16 MByte of RAM we measured
  285.    a turn-around time of 2 minutes for a 5 module, 500 lines program.
  286.    If you want to compile only one module you will have to wait
  287.    about one minute.
  288.  
  289.    The necessary files are available at "gatekeeper.dec.com" in
  290.    /pub/DEC/Modula-3/contrib/m3pc:
  291.  
  292.     Install.txt    please read this first!
  293.     djgpp.tar    the DJGPP-gnu-C-compiler
  294.     m3.tar        compiler binaries
  295.     m3src.tar    sources of the compiler (optional)
  296.     tar.exe        program to unpack these files
  297.  
  298.  
  299. 3.4. What is GNU Modula-3?
  300.  
  301.    From: hudson@cs.umass.edu (Rick Hudson)
  302.    Subject: Re: Where to start - GNU M3 status.
  303.    Date: 02 Mar 1994 20:53:10 GMT
  304.  
  305.    I put in as much time as anyone on the GM3 project and have it wired up and
  306.    sort of running on my desk well enough to do run experiments. Unfortunately,
  307.    it is in no shape for prime time. No threads and 20% of the SRC libraries
  308.    don't even compile. Work slowed in July due to me switching projects and
  309.    pretty much halted when it became obvious that SRC was doing such a good job
  310.    on their compiler.
  311.  
  312.    We are porting pieces of our backend and runtime into the SRC stuff but it
  313.    is just for internal research use since that is all we really have time for.
  314.    Cheers,
  315.  
  316.    ---------
  317.  
  318.    From: moss@cs.cmu.edu (Eliot Moss)
  319.    Subject: GNU Modula-3 alpha release status
  320.    Date: 25 Mar 93 17:53:12 GMT
  321.  
  322.    We said we'd try to get the initial (alpha) release of GNU
  323.    Modula-3 out some time this month (March), and we're in the
  324.    process of figuring out what to release and how to package it
  325.    up. We expect to have something in roughly two weeks (watch
  326.    this space for a notice).
  327.  
  328.    What would this be? First, it is a compiler for the VAX (only)
  329.    under Ultrix (only), definitely without threads, and probably
  330.    still failing a small number of the tests in the SRC test
  331.    suite (which implies that not all of libm3 is likely to work
  332.    either). The actual release information will detail more about
  333.    what's working and what's not at that time. We DO currently
  334.    pass all the compiler tests that the SRC compiler did when it
  335.    was first released (i.e., the ones we fail are more obscure
  336.    things that users uncovered over time).
  337.  
  338.    Second, the release itself will be a compressed tar file
  339.    including sources and executables. The executables will
  340.    probably work only if you put libraries, etc., in the expected
  341.    places (otherwise, you'll need to rebuild from sources).The
  342.    compiler is written in C and should be compiled with a recent
  343.    version of gcc (so you'll need gcc installed). The system also
  344.    uses gld (the GNU linker).
  345.  
  346.    This release should be most useful to people undertaking ports
  347.    to other machines and operating systems, since it will give
  348.    them a head start on understanding the compiler and getting
  349.    the full system ready. It may be of some use for ordinary
  350.    programming, but it really depends on whether you tend to use
  351.    features that tickle the remaining bugs. We are indeed
  352.    interested in alpha test reports, but only if they tell us
  353.    something new (i.e., we'll provide a list of known
  354.    deficiencies).
  355.  
  356.    When the release is made, we'll also start email discussions
  357.    with the various parties who have indicated they might
  358.    undertake ports, to help sort out who will do what.
  359.  
  360.    Regards, and thanks for your continued interest and
  361.    encouragement -- EM
  362.  
  363.    ---------
  364.  
  365.    From: moss@cs.cmu.edu (Eliot Moss)
  366.    Subject: GNU Modula-3 pre-release
  367.    Date: Wed, 5 May 1993 23:49:33 GMT
  368.  
  369.    At long last, the GNU Modula-3 project has a pre-release ready, for
  370.    the VAX/Ultrix platform ONLY. Various folks had notified us of
  371.    their interest in doing ports or alpha testing, and they have
  372.    already been sent email with particulars on how to obtain the tar
  373.    file, etc. There are a number of known bugs; I'll see about making
  374.    a list available by ftp or something, for interested parties.
  375.  
  376.    It is our opinion that the prerelease is not mature enough for
  377.    general use, but we wished to give a head start to those folks
  378.    attempting ports, and we will make periodic patches available. If
  379.    you want to use this compiler for serious program development or
  380.    need something solid with debugging support for classroom use, you
  381.    should wait until we've fixed more of the problems. (But to give a
  382.    sense of what we HAVE accomplished, as I recall, all but 3 of the
  383.    SRC compiler tests compile (there are 137 of them).) We hope to do
  384.    a more general release, and support more platforms, in the summer.
  385.  
  386.    If you're interested in helping and have not previously contacted
  387.    us, please send email to me and/or Rick Hudson
  388.    (hudson@cs.umass.edu).
  389.  
  390.    Thanks to Digital and SRC for supporting us, and to Rick Hudson, Amer Diwan,
  391.    and Norm Walsh, the guys who do all the hard work!
  392.  
  393.  
  394. 4.1. Why is "Hello World" so large?
  395.  
  396.    Modula-3 programs are larger than C programs for the following reasons:
  397.  
  398.      1) The fixed runtime is substantially larger.  It contains a
  399.         garbage collector, a thread runtime, and exception support.
  400.         Note that "Hello World" is virtually all runtime.  For
  401.         larger programs the runtime is not an issue.
  402.  
  403.      2) The generated code includes runtime checks for out-of-bound
  404.         array references and NIL pointer.  Many of these checks could
  405.         be removed by a better compiler.  The current compiler is
  406.         only a research prototype.
  407.  
  408.      3) The compiler generates C code as its intermediate language
  409.         consequently the final machine code suffers.  For example,
  410.         the compiler is constantly storing single-precision floating
  411.         point values into memory to get around C's predisposition
  412.         for double precision.
  413.  
  414. 4.2. Why objects and interfaces?
  415.  
  416.    Allan Heydon on comp.lang.modula3,  May 4th 1993:
  417.  
  418.    Modula-3 provides two separate mechanisms for data-hiding: one for 
  419.    hiding details about how interfaces are implemented, and the other 
  420.    for hiding details about how objects are implemented.
  421.  
  422.    The first data-hiding mechanism is realized by the distinction between 
  423.    interfaces and modules. Clients can only import interfaces, so the 
  424.    names declared in the modules implementing those interfaces are hidden 
  425.    from clients. Note that this mechanism has only two levels; a name 
  426.    is either declared in an interface, or it isn't. If a name is only 
  427.    declared in a module, it can't be used by a client. 
  428.  
  429.    The second data-hiding mechanism is realized by opaque types and 
  430.    revelations. A Modula-3 interface may declare an object type to be 
  431.    opaque, in which case only a subset of the fields and methods of 
  432.    that object are revealed to clients importing the interface. Furthermore, 
  433.    the Modula-3 revelation mechanism allows a designer to reveal successively 
  434.    more fields and methods of an object in a series of interfaces. The 
  435.    fields and methods visible to a client then depends on which interfaces 
  436.    the client imports. 
  437.  
  438.    The latter mechanism is quite flexible. As opposed to the interface/module 
  439.    data-hiding mechanism, opaque types allow you to define an arbitrary 
  440.    number of levels at which more and more information about the implementation 
  441.    of your object is revealed. 
  442.  
  443.    See Sections 2.2.10, 2.4.6, and 2.4.7 of "Systems Programming with 
  444.    Modula-3" for more information about opaque types and about partial 
  445.    and complete revelations. 
  446.  
  447. 4.3. What is the story with Trestle and OpenWindows?
  448.  
  449.    Mark Manasse says: 
  450.  
  451.    I think that the OpenWindows release should be enough (no need to 
  452.    get the MIT X release], although there are a few things in Trestle
  453.    that trigger devastating bugs in OpenWindows. But the only library
  454.    we depend on is Xlib, R4 or later.
  455.  
  456.    The main thing I know that crashes OW 2.0 is the code where we call 
  457.    GrabKey specifying AnyKey.  You can either loop over all of the 
  458.    keys, or you can just comment out the call; programs won't run exactly 
  459.    the same, but you probably won't notice the difference.
  460.  
  461.  
  462. 4.4 When is the next release of SRC Modula-3 ?
  463.  
  464.   The next release will be 3.1.  Here are some of the new things you will
  465.   find in it:
  466.   
  467.   1. the compiler has a new internal interface between the front-end and
  468.      the back-end, M3CG.  This interface is supposed to be easy to
  469.      implement.
  470.   
  471.   2. the front-end can compute in the target arithmetic system; in particular
  472.      it is possible to cross-compile to machines with larger integers than
  473.      the host.
  474.   
  475.   3. one back-end has been implemented on top of gcc.  The implementation of
  476.      M3CG interface generates the tree representation used internally in gcc.
  477.      From the gcc point of view, this back-end looks like a new front-end.
  478.      Using this back-end, we have cross-compiled solitaire for mips, alpha and
  479.      386 processors; there is no reason to believe that there would be a
  480.      problem for the other architectures supported by gcc.
  481.   
  482.   4. Dave Hanson wrote another implementation of the M3CG that is
  483.      self-contained. He is currently working on the 386 code generation (he
  484.      has done the mips code generation already).
  485.   
  486.   5. gdb has been modified to understand Modula-3 debugging information
  487.      produced by the back-ends.  gdb can now parse Modula-3 expressions, print
  488.      Modula-3 values and evaluate some of the Modula-3 built-in operations.
  489.      There is also a little bit of support for multi-threaded programs (you
  490.      can look at the stacks of other threads).
  491.   
  492.   6. there is a replacement for m3make, m3build, that does not rely on
  493.      cpp/awk/sed/make and what not, and removes some of the limitations of
  494.      m3make.  m3makefiles are very similar.
  495.   
  496.   7. libm3 has been significantly changed by the Interface Police, mostly in
  497.      the area of OS interfaces and data structures.
  498.   
  499.   8. for the OS interfaces, we still have the U* interfaces, but applications
  500.      are not supposed to use those.  Instead they should use a new set of
  501.      interfaces that are os-independent; for example, there is a Pathname
  502.      interface that manipulates file names; there is a Process interface that
  503.      manipulate child processes.  These interfaces enabled a prototype port
  504.      of the C based version to Windows NT machines.
  505.   
  506.   9. for the data structures, generics have been introduced and the various
  507.      data structures are more consistent.
  508.   
  509.   10. because of 6 and 8, we can think about going to different os than Unix.
  510.       In particular a Windows NT port will be available at some point (may not
  511.       be in 3.0).
  512.   
  513.   11. the runtime has been improved quite a bit.
  514.   
  515.   12. new platforms: Alpha running OSF/1, 386 running Linux.  We will pay
  516.       more attention to the porting instructions and support.
  517.   
  518.   13. I am not sure about all the changes in the libraries other than
  519.       libm3.  I suspect that there will be few changes in trestle, but that
  520.       mentor changed quite a bit. 
  521.   
  522.   14. The Windows NT port uses native threads.  This should be a good model
  523.       for other implementations of Thread using native threads.
  524.  
  525.   The current status is:
  526.   . the front-end is very stable
  527.   . the gcc-based back-end has been stable for 4 months
  528.   . the gdb extensions are brand new and need some test
  529.   . the interface police work is very stable
  530.   . we are working on bringing the system up on the machines we have in the
  531.     building, and building the export machinery.
  532.   
  533.   We don't have a date for the 3.1 release.  Given the amount of changes
  534.   introduced by 3.1, I suspect that the first few releases will not work out
  535.   of the box for any machine but the ones for which we can test (decstations
  536.   [mips and alpha], linux).  Consequently, I expect a high rate of releases
  537.   for a while.  We will try to post accurate information about the status of
  538.   each machine, but we can only rely what you tell us.
  539.   
  540.   At this point, I would not encourage anybody to start a new port.  If you
  541.   have a new port, or are close to complete one, you can send us your bits,
  542.   we will try to put them in 3.1.
  543.   
  544.   
  545. 5.1. What if I don't have ftp access?
  546.   
  547.    Unfortunately, we cannot deliver Modula-3 other than by 
  548.    anonymous ftp.  
  549.  
  550.    Fortunately, Prime Time Freeware (PTF) includes Modula-3.  PTF is
  551.    a set of two ISO-9660 CDroms filled with 3GB of freeware, issued
  552.    semi-annually.  The latest issue, Volume 1, Number 2, July 1992,
  553.    contains SRC Modula-3 2.07.  PTF is distributed via bookstores and
  554.    mail.  You can reach PTF using:
  555.  
  556.     Email:  ptf@cfcl.com
  557.         Fax:    [1] (408) 738 2050
  558.         Voice:  [1] (408) 738 4832
  559.         Mail:   Prime Time Freeware
  560.              415-112 N. Mary Ave., Suite 50
  561.         Sunnyvale, CA 94086
  562.             USA
  563.  
  564. 6.1. Can I contribute Modula-3 software?
  565.  
  566.    Certainly.  Send us what you are willing to share, be it programs,
  567.    libraries or other things.  We'll put them in the distribution.
  568.  
  569.    Right now, the pub/DEC/Modula-3/contrib directory contains:
  570.  
  571.       m3rpc   an rpc system from Xerox Parc
  572.       M2toM3  a translator from Modula-2 to Modula-3
  573.       m3pc    an implementation of Modula-3 for PCs.
  574.    
  575. ----
  576. Eric.
  577.